package com.zbkj.crmeb.handler.orderproduct;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.doudian.open.api.product_addV2.data.ProductAddV2Data;
import com.doudian.open.api.product_addV2.param.ProductAddV2Param;
import com.doudian.open.api.supplyChain_publishProduct.data.Data;
import com.zbkj.crmeb.plat.by.dto.ApiProduct;
import com.zbkj.crmeb.plat.by.dto.PoizonPushInfo;
import com.zbkj.crmeb.plat.by.dto.TikTokPushInfo;
import com.zbkj.crmeb.store.model.*;
import com.zbkj.crmeb.task.plat.poizon.dto.PoizonPushStockUpdateDto;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.List;

/**
 * @author: wsl
 * @date: 2024/2/22 0022 22:18
 * @ClassName: OrderConfirmContext
 */
public class OrderProductContext {
    private static final Logger logger = LoggerFactory.getLogger(OrderProductContext.class);
    private StoreOrderInfo storeOrderInfo;
    private StoreProductDescription storeProductDescription;
    private PurchaseGoods purchaseGoods;

    private StoreOrder storeOrder;

    private String productId;

    private StoreProduct storeProduct;

    private PoizonPushInfo poizonPushInfo;

    private TikTokPushInfo tikTokPushInfo;
    private List<StoreProductAttrValue> storeProductAttrValues;

    // 别样推品回执
    private ApiProduct apiProduct;
    // 得物推品回执
    private PoizonPushStockUpdateDto poizonApiProduct;
    // 抖店推货品回执
    private List<JSONObject> publishCargoDataList;
    private ProductAddV2Param publishProductParam;
    // 抖店推商品回执
    private ProductAddV2Data publishProductData;

    private List<String> validateList;

    private String categoryId;
    private String categoryName;

    private String brandId;
    private String brandName;

    private Integer merId;

    public OrderProductContext() {
    }

    public OrderProductContext(StoreOrderInfo storeOrderInfo, PurchaseGoods purchaseGoods) {
        this.storeOrderInfo = storeOrderInfo;
        this.purchaseGoods = purchaseGoods;
    }


    public StoreProductDescription getStoreProductDescription() {
        return storeProductDescription;
    }

    public void setStoreProductDescription(StoreProductDescription storeProductDescription) {
        this.storeProductDescription = storeProductDescription;
    }

    public PoizonPushInfo getPoizonPushInfo() {
        return poizonPushInfo;
    }

    public ProductAddV2Data getPublishProductData() {
        return publishProductData;
    }

    public void setPublishProductData(ProductAddV2Data publishProductData) {
        this.publishProductData = publishProductData;
    }

    public List<JSONObject> getPublishCargoDataList() {
        return publishCargoDataList;
    }

    public void setPublishCargoDataList(List<JSONObject> publishCargoDataList) {
        this.publishCargoDataList = publishCargoDataList;
    }

    public void setPoizonPushInfo(PoizonPushInfo poizonPushInfo) {
        this.poizonPushInfo = poizonPushInfo;
    }

    public StoreOrderInfo getStoreOrderInfo() {
        return storeOrderInfo;
    }

    public void setStoreOrderInfo(StoreOrderInfo storeOrderInfo) {
        this.storeOrderInfo = storeOrderInfo;
    }

    public PurchaseGoods getPurchaseGoods() {
        return purchaseGoods;
    }

    public void setPurchaseGoods(PurchaseGoods purchaseGoods) {
        this.purchaseGoods = purchaseGoods;
    }

    public StoreOrder getStoreOrder() {
        return storeOrder;
    }

    public void setStoreOrder(StoreOrder storeOrder) {
        this.storeOrder = storeOrder;
    }

    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public StoreProduct getStoreProduct() {
        return storeProduct;
    }

    public void setStoreProduct(StoreProduct storeProduct) {
        this.storeProduct = storeProduct;
    }

    public List<StoreProductAttrValue> getStoreProductAttrValues() {
        return storeProductAttrValues;
    }

    public void setStoreProductAttrValues(List<StoreProductAttrValue> storeProductAttrValues) {
        this.storeProductAttrValues = storeProductAttrValues;
    }

    public ApiProduct getApiProduct() {
        return apiProduct;
    }

    public TikTokPushInfo getTikTokPushInfo() {
        return tikTokPushInfo;
    }

    public void setTikTokPushInfo(TikTokPushInfo tikTokPushInfo) {
        this.tikTokPushInfo = tikTokPushInfo;
    }

    public void setApiProduct(ApiProduct apiProduct) {
        this.apiProduct = apiProduct;
    }

    public PoizonPushStockUpdateDto getPoizonApiProduct() {
        return poizonApiProduct;
    }

    public void setPoizonApiProduct(PoizonPushStockUpdateDto poizonApiProduct) {
        this.poizonApiProduct = poizonApiProduct;
    }

    public List<String> getValidateList() {
        return validateList;
    }

    public void setValidateList(List<String> validateList) {
        this.validateList = validateList;
    }

    public String getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(String categoryId) {
        this.categoryId = categoryId;
    }

    public String getCategoryName() {
        return categoryName;
    }


    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    public String getBrandName() {
        return brandName;
    }

    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }

    public String getBrandId() {
        return brandId;
    }

    public void setBrandId(String brandId) {
        this.brandId = brandId;
    }

    public Integer getMerId() {
        return merId;
    }

    public void setMerId(Integer merId) {
        this.merId = merId;
    }

    public void setPublishProductParam(ProductAddV2Param param) {
        this.publishProductParam = param;
    }
    public ProductAddV2Param getPublishProductParam() {
        return publishProductParam;
    }
}
